// import './assets/main.css'
// 引入 Vue 的 createApp 方法，用于创建 Vue 应用实例
import { createApp } from 'vue'
// 引入应用的根组件 App.vue，作为整个应用的入口组件
import App from './App.vue'

// 引入路由配置模块 router/index.ts，定义了应用的路由规则
import router from './router'
// 引入路由权限控制模块 router/permission.ts，用于处理路由权限逻辑
import './router/permission'

import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import ElementPlus from 'element-plus'

// 引入自定义的图标字体样式文件 iconfont.css，用于支持图标显示
import './assets/fonts/iconfont.css'



// 引入 Element Plus 的样式文件，用于支持 Element Plus 组件库的样式
import 'element-plus/dist/index.css'
// 引入 Pinia 的 createPinia 方法，用于创建状态管理实例
import {createPinia} from 'pinia'
// 引入 pinia-plugin-persistedstate 插件，用于实现 Pinia 状态的持久化
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'


const app = createApp(App)


for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
  }


// 创建 Pinia 状态管理实例
const pinia = createPinia()
// 为 Pinia 实例启用持久化插件，使其支持状态持久化功能
pinia.use(piniaPluginPersistedstate)

app.use(pinia)
app.use(ElementPlus)

app.use(router)

app.mount('#app')
